package com.witmore.neutron.ai.mcp.server.trading.dto;

import lombok.Data;
import java.math.BigDecimal;
import java.util.Map;

/**
 * 股票财务数据传输对象
 * 基于第三方财务报表接口的完整财务数据
 * 
 * @author 豆子高
 * @date 2025-01-20
 */
@Data
public class StockFinancialDataDTO {
    /**
     * 股票代码
     */
    private String stockCode;
    
    /**
     * 股票名称
     */
    private String stockName;
    
    /**
     * 报告期
     */
    private String reportPeriod;
    
    // ==================== 资产负债表相关指标 ====================
    
    /**
     * 流动资产
     */
    private BigDecimal currentAssets;
    
    /**
     * 总资产
     */
    private BigDecimal totalAssets;
    
    /**
     * 流动负债
     */
    private BigDecimal currentLiabilities;
    
    /**
     * 总负债
     */
    private BigDecimal totalLiabilities;
    
    /**
     * 股东权益
     */
    private BigDecimal shareholdersEquity;
    
    /**
     * 归属于母公司股东权益
     */
    private BigDecimal parentShareholdersEquity;
    
    /**
     * 资产负债率
     */
    private BigDecimal debtToAssetRatio;
    
    /**
     * 流动比率
     */
    private BigDecimal currentRatio;
    
    /**
     * 速动比率
     */
    private BigDecimal quickRatio;
    
    // ==================== 利润表相关指标 ====================
    
    /**
     * 营业总收入
     */
    private BigDecimal totalRevenue;
    
    /**
     * 营业收入
     */
    private BigDecimal operatingRevenue;
    
    /**
     * 营业成本
     */
    private BigDecimal operatingCost;
    
    /**
     * 营业利润
     */
    private BigDecimal operatingProfit;
    
    /**
     * 利润总额
     */
    private BigDecimal totalProfit;
    
    /**
     * 净利润
     */
    private BigDecimal netProfit;
    
    /**
     * 归属于母公司净利润
     */
    private BigDecimal parentNetProfit;
    
    /**
     * 每股收益(基本)
     */
    private BigDecimal basicEarningsPerShare;
    
    /**
     * 每股收益(稀释)
     */
    private BigDecimal dilutedEarningsPerShare;
    
    /**
     * 毛利率
     */
    private BigDecimal grossProfitMargin;
    
    /**
     * 净利润率
     */
    private BigDecimal netProfitMargin;
    
    /**
     * 营业利润率
     */
    private BigDecimal operatingProfitMargin;
    
    // ==================== 现金流量表相关指标 ====================
    
    /**
     * 经营活动产生的现金流量净额
     */
    private BigDecimal operatingCashFlow;
    
    /**
     * 投资活动产生的现金流量净额
     */
    private BigDecimal investingCashFlow;
    
    /**
     * 筹资活动产生的现金流量净额
     */
    private BigDecimal financingCashFlow;
    
    /**
     * 现金及现金等价物净增加额
     */
    private BigDecimal netCashFlow;
    
    /**
     * 期末现金及现金等价物余额
     */
    private BigDecimal endingCashBalance;
    
    // ==================== 财务比率指标 ====================
    
    /**
     * 净资产收益率(ROE)
     */
    private BigDecimal returnOnEquity;
    
    /**
     * 总资产收益率(ROA)
     */
    private BigDecimal returnOnAssets;
    
    /**
     * 市盈率(PE)
     */
    private BigDecimal peRatio;
    
    /**
     * 市净率(PB)
     */
    private BigDecimal pbRatio;
    
    /**
     * 市销率(PS)
     */
    private BigDecimal psRatio;
    
    /**
     * 每股净资产
     */
    private BigDecimal bookValuePerShare;
    
    /**
     * 每股经营现金流
     */
    private BigDecimal operatingCashFlowPerShare;
    
    // ==================== 成长性指标 ====================
    
    /**
     * 营业收入同比增长率
     */
    private BigDecimal revenueGrowthRate;
    
    /**
     * 净利润同比增长率
     */
    private BigDecimal netProfitGrowthRate;
    
    /**
     * 总资产同比增长率
     */
    private BigDecimal totalAssetsGrowthRate;
    
    /**
     * 净资产同比增长率
     */
    private BigDecimal netAssetsGrowthRate;
    
    // ==================== 原始数据存储 ====================
    
    /**
     * 资产负债表原始数据
     */
    private Map<String, Object> balanceSheetData;
    
    /**
     * 利润表原始数据
     */
    private Map<String, Object> profitSheetData;
    
    /**
     * 现金流量表原始数据
     */
    private Map<String, Object> cashFlowSheetData;
    
    /**
     * 数据来源
     */
    private String dataSource;
    
    /**
     * 数据获取时间
     */
    private String dataTimestamp;
}
